package com.jmb.api.model.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.util.Date;

import jakarta.validation.constraints.Max;
import jakarta.validation.constraints.Min;
import jakarta.validation.constraints.NotBlank;
import jakarta.validation.constraints.NotNull;
import lombok.Data;

/**
 * 
 * @TableName api_case_suite
 */
@TableName(value ="api_case_suite")
@Data
public class ApiCaseSuite extends BaseEntity implements Serializable {
    /**
     * 接口测试套件id
     */
    @TableId(value = "suite_id", type = IdType.AUTO)
    private Integer suiteId;

    /**
     * 测试套件名称
     */
    @NotBlank(message = "测试套件名称不能为空")
    @TableField(value = "suite_name")
    private String suiteName;

    /**
     * 测试套件描述
     */
    @TableField(value = "description")
    private String description;


    /**
     * 创建人
     */
    @TableField(value = "creator")
    private String creator;

    /**
     * 执行方式 0并行1串行
     */
    @NotNull(message = "执行方式不允许为空")
    @TableField(value = "execute_type")
    private Integer executeType;

    /**
     * 0dev1test2stg3prod4debug
     */
    @NotNull(message = "运行环境不允许为空")
    @Max(value = 4, message = "运行环境设置错误")
    @Min(value = 0, message = "运行环境设置错误")
    @TableField(value = "run_dev")
    private Integer runDev;

    /**
     * 是否失败重新 0是1否
     */
    @NotNull(message = "失败重试不能为空")
    @Max(value = 1, message = "失败重试设置错误")
    @Min(value = 0, message = "失败重试设置错误")
    @TableField(value = "is_retry")
    private Integer isRetry;
}